package com.jeesite.modules.flow.entity;

import javax.validation.constraints.Size;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 流程部署定义Entity
 * @author lihp
 * @version 2024-08-29
 */
@Table(name="act_re_procdef", alias="a", label="流程部署定义信息", columns={
		@Column(name="id_", attrName="id", label="id_", isPK=true),
		@Column(name="rev_", attrName="rev", label="rev_", isQuery=false, isUpdateForce=true),
		@Column(name="category_", attrName="category", label="所属分类", isQuery=false),
		@Column(name="name_", attrName="name", label="流程名称", queryType=QueryType.LIKE),
		@Column(name="key_", attrName="key", label="流程KEY", queryType=QueryType.LIKE),
		@Column(name="version_", attrName="version", label="流程版本", isQuery=false, isUpdateForce=true),
		@Column(name="deployment_id_", attrName="deploymentId", label="部署应用ID", isQuery=false),
		@Column(name="resource_name_", attrName="resourceName", label="流程定义", isQuery=false),
		@Column(name="dgrm_resource_name_", attrName="dgrmResourceName", label="流程图", isQuery=false),
		@Column(name="description_", attrName="description", label="流程描述", isQuery=false),
		@Column(name="has_start_form_key_", attrName="hasStartFormKey", label="has_start_form_key_", isQuery=false, isUpdateForce=true),
		@Column(name="has_graphical_notation_", attrName="hasGraphicalNotation", label="has_graphical_notation_", isQuery=false, isUpdateForce=true),
		@Column(name="suspension_state_", attrName="suspensionState", label="suspension_state_", isQuery=false, isUpdateForce=true),
		@Column(name="tenant_id_", attrName="tenantId", label="tenant_id_", isQuery=false),
		@Column(name="engine_version_", attrName="engineVersion", label="engine_version_", isQuery=false),
	}, orderBy="a.id_ DESC"
)
public class ActReProcdef extends DataEntity<ActReProcdef> {
	
	private static final long serialVersionUID = 1L;
	private Long rev;		// rev_
	private String category;		// 所属分类
	private String name;		// 流程名称
	private String key;		// 流程KEY
	private Long version;		// 流程版本
	private String deploymentId;		// 部署应用ID
	private String resourceName;		// 流程定义
	private String dgrmResourceName;		// 流程图
	private String description;		// 流程描述
	private Integer hasStartFormKey;		// has_start_form_key_
	private Integer hasGraphicalNotation;		// has_graphical_notation_
	private Long suspensionState;		// suspension_state_
	private String tenantId;		// tenant_id_
	private String engineVersion;		// engine_version_

	public ActReProcdef() {
		this(null);
	}
	
	public ActReProcdef(String id){
		super(id);
	}
	
	public Long getRev() {
		return rev;
	}

	public void setRev(Long rev) {
		this.rev = rev;
	}
	
	@Size(min=0, max=255, message="所属分类长度不能超过 255 个字符")
	public String getCategory() {
		return category;
	}

	public void setCategory(String category) {
		this.category = category;
	}
	
	@Size(min=0, max=255, message="流程名称长度不能超过 255 个字符")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Size(min=0, max=255, message="流程KEY长度不能超过 255 个字符")
	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}
	
	public Long getVersion() {
		return version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}
	
	@Size(min=0, max=64, message="部署应用ID长度不能超过 64 个字符")
	public String getDeploymentId() {
		return deploymentId;
	}

	public void setDeploymentId(String deploymentId) {
		this.deploymentId = deploymentId;
	}
	
	@Size(min=0, max=4000, message="流程定义长度不能超过 4000 个字符")
	public String getResourceName() {
		return resourceName;
	}

	public void setResourceName(String resourceName) {
		this.resourceName = resourceName;
	}
	
	@Size(min=0, max=4000, message="流程图长度不能超过 4000 个字符")
	public String getDgrmResourceName() {
		return dgrmResourceName;
	}

	public void setDgrmResourceName(String dgrmResourceName) {
		this.dgrmResourceName = dgrmResourceName;
	}
	
	@Size(min=0, max=4000, message="流程描述长度不能超过 4000 个字符")
	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}
	
	public Integer getHasStartFormKey() {
		return hasStartFormKey;
	}

	public void setHasStartFormKey(Integer hasStartFormKey) {
		this.hasStartFormKey = hasStartFormKey;
	}
	
	public Integer getHasGraphicalNotation() {
		return hasGraphicalNotation;
	}

	public void setHasGraphicalNotation(Integer hasGraphicalNotation) {
		this.hasGraphicalNotation = hasGraphicalNotation;
	}
	
	public Long getSuspensionState() {
		return suspensionState;
	}

	public void setSuspensionState(Long suspensionState) {
		this.suspensionState = suspensionState;
	}
	
	@Size(min=0, max=255, message="tenant_id_长度不能超过 255 个字符")
	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}
	
	@Size(min=0, max=255, message="engine_version_长度不能超过 255 个字符")
	public String getEngineVersion() {
		return engineVersion;
	}

	public void setEngineVersion(String engineVersion) {
		this.engineVersion = engineVersion;
	}
	
}